package com.ruoyi.system.service;

import java.util.List;
import com.ruoyi.system.domain.FkwzTask;
import com.ruoyi.system.vo.req.BatchTaskReqVO;
import com.ruoyi.system.vo.req.TaskCheckDetailReqVO;
import com.ruoyi.system.vo.resp.TaskReqDTO;
import com.ruoyi.system.vo.resp.TaskRespDTO;

/**
 * 任务检查Service接口
 * 
 * @author ruoyi
 * @date 2024-06-04
 */
public interface IFkwzTaskService 
{
    /**
     * 查询任务检查
     * 
     * @param taskId 任务检查主键
     * @return 任务检查
     */
    public TaskRespDTO selectFkwzTaskByTaskId(Long taskId);

    /**
     * 查询任务检查列表
     * 
     * @param fkwzTask 任务检查
     * @return 任务检查集合
     */
    public List<TaskRespDTO> selectFkwzTaskList(TaskReqDTO fkwzTask);

    /**
     * 新增任务检查
     * 
     * @param fkwzTask 任务检查
     * @return 结果
     */
    public int insertFkwzTask(FkwzTask fkwzTask);

    /**
     * 修改任务检查
     * 
     * @param fkwzTask 任务检查
     * @return 结果
     */
    public int updateFkwzTask(FkwzTask fkwzTask);

    /**
     * 批量删除任务检查
     * 
     * @param taskIds 需要删除的任务检查主键集合
     * @return 结果
     */
    public int deleteFkwzTaskByTaskIds(Long[] taskIds);

    /**
     * 删除任务检查信息
     * 
     * @param taskId 任务检查主键
     * @return 结果
     */
    public int deleteFkwzTaskByTaskId(Long taskId);

    int insertBatchFkwzTask(BatchTaskReqVO vo);

    void addOrUpdateTaskDetail(TaskCheckDetailReqVO reqVO);

    List<TaskRespDTO> checkRecordList(TaskReqDTO reqVO);

    Object checkRecordCount(TaskReqDTO fkwzTask);

    Object checkStatusCount(TaskReqDTO fkwzTask);

    List<TaskRespDTO> selectWarnList(TaskReqDTO fkwzTask);
}
